package cn.sdormitory.smartdor.entity;


import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * Created By：ruanteng
 * DateTime：2020/11/27
 * @version：V1.0
 * 考勤表
 */

@Data
@TableName("sd_attence")
public class  SdAttence {

    @TableId
    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "设备号")
    private String deviceNo;

    @ApiModelProperty(value = "学号")
    private String studentNo;

    @ApiModelProperty(value = "出/入时间(刷脸时间)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date accessDate;

    @ApiModelProperty(value = "考勤状态")
    private String attenceStatus;

    @ApiModelProperty(value = "缺勤处理")
    private String absenceProcessStatus;

    @ApiModelProperty(value = "处理人")
    private String processPerson;

    @ApiModelProperty(value = "处理描述")
    private String processDesc;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date modifyTime;

    @ApiModelProperty(value = "宿舍栋号")
    private String buildingNo;

    @ApiModelProperty(value = "楼层")
    private String storey;

    @ApiModelProperty(value = "宿舍表ID")
    private Long bdormitoryId;

    @ApiModelProperty(value = "宿舍号")
    private String dormitoryNo;

    @ApiModelProperty(value = "补卡照片")
    private String mendCardPhoto;

    @ApiModelProperty(value = "考勤来源：1 手动打卡 2 考勤机打卡 3 请假打卡")
    private String flag;

    @TableField(exist = false)
    @ApiModelProperty(value = "学生姓名")
    private String studentName;

    @TableField(exist = false)
    @ApiModelProperty(value = "学生ID")
    private String studentId;

    @TableField(exist = false)
    private String stuPhoto;

    @TableField(exist = false)
    @ApiModelProperty(value = "班级名称")
    private String className;

    @TableField(exist = false)
    @ApiModelProperty(value = "宿舍详细地址")
    private String dorAddress;

    @TableField(exist = false)
    @ApiModelProperty(value = "申请单状态")
    private String applyStatus;

    @ApiModelProperty(value = "当前审批节点")
    @TableField(exist = false)
    private String approveNode;

    @ApiModelProperty(value = "当前审批人")
    @TableField(exist = false)
    private String currentApprover;

    @TableField(exist = false)
    @ApiModelProperty(value = "未归原因 or 提交记录")
    private String reason;

    @TableField(exist = false)
    @ApiModelProperty(value = "流程实例id")
    private String processInstanceId;

}
